home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #1 / Amiga Plus CD - 2000 - No. 1.iso / Games / Starter / JST / Developer / sources / src / loaders / JSTExeHD / ECS_1C_NFhd.asm < prev    next >
Encoding:
Assembly Source File  |  1999-12-03  |  1.4 KB  |  90 lines

  1. ; *** OSEmu 1meg chip, no fast
  2. ; *** Written by Jean-François Fabre 1999
  3.  
  4.  
  5.     include    "syslibs.i"
  6.     include    "jst.i"
  7.  
  8.     HD_PARAMS    "",0,0
  9.  
  10. MEM_SIZE = $100000
  11.  
  12. loader:
  13.  
  14.     Mac_printf    "Generic 1Meg chip/No fast/ECS OSEmu HD Loader"
  15.     Mac_printf    "Coded by Jean-François Fabre © 1999"
  16.  
  17.     JSRABS    UseHarryOSEmu
  18.  
  19.     JSRGEN    GetUserData
  20.     tst.l    (A0)
  21.     beq    UDErr
  22.     move.l    A0,D0
  23.     lea    MAINFILE(pc),A0
  24.     move.l    A0,D1
  25.     JSRGEN    StrcpyAsm
  26.  
  27.     TESTFILE    MAINFILE
  28.     tst.l    d0
  29.     bne    FileErr
  30.  
  31.     JSRABS    LoadFiles
  32.  
  33.     moveq.l    #0,D0
  34.     move.l    #CACRF_CopyBack,D1
  35.     JSRABS    Degrade
  36.  
  37.     GO_SUPERVISOR
  38.     SAVE_OSDATA    MEM_SIZE,#$5D
  39.  
  40.     MOVE.L    $4.W,A6            ;OPEN DOSLIB FOR USE (THE EMU
  41.  
  42.     ; **** boot stuff and patch
  43.  
  44.     MOVE.L    $4.W,A6            ;OPEN DOSLIB FOR USE (THE EMU
  45.     MOVEQ.L    #0,D0            ;PROVIDES THE FUNCTIONS)
  46.     LEA    DOSNAM(PC),A1
  47.     JSRLIB    OpenLibrary(A6)
  48.     LEA.L    DOSP(PC),a4
  49.     MOVE.L    d0,(a4)
  50.     MOVE.L    D0,A6
  51.  
  52.     LEA.L    MAINFILE(PC),A0        ;LOAD MAIN GAME
  53.     MOVE.L    A0,D1
  54.     JSRLIB    LoadSeg
  55.                     ;NO NEED TO STORE POINTER FOR LATER USE
  56.     LSL.L    #2,D0
  57.     MOVE.L    D0,A1
  58.     ADDQ.L    #4,A1
  59.  
  60.     cmp.l    #0,A1
  61.     beq    LoadsegErr
  62.  
  63.     SUB.L    A0,A0
  64.     MOVEQ.L    #0,D0        ; no pointer on argumentline
  65.  
  66.     
  67.     jsr    (A1)
  68.  
  69. LoadsegErr
  70.     JSRGEN    InGameExit
  71. FileErr:
  72.     Mac_printf    "File ",f
  73.     lea    MAINFILE(pc),A1
  74.     JSRABS    Display
  75.     Mac_printf     " missing!"
  76.     JSRABS    CloseAll
  77.  
  78. UDErr:
  79.     Mac_printf    "Executable program name must be passed in USERDATA"
  80.     JSRABS    CloseAll
  81.  
  82. DOSP:
  83.     dc.l    0
  84. DOSNAM:
  85.     dc.b    "dos.library",0
  86. MAINFILE:
  87.     blk.b    256,0
  88.  
  89.  
  90.